package langchain4j.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length;

/**
 * 医生基本信息表
 * @TableName doctor
 */
@Data
@TableName(value = "doctor", autoResultMap = true)
public class Doctor implements Serializable {

    /**
     * 医生ID
     */
    @NotNull(message = "[医生ID]不能为空")
    private Long id;

    /**
     * 医生姓名
     */
    @NotBlank(message = "[医生姓名]不能为空")
    @Size(max = 50, message = "编码长度不能超过50")
    @Length(max = 50, message = "编码长度不能超过50")
    private String name;

    /**
     * 所属科室
     */
    @NotBlank(message = "[所属科室]不能为空")
    @Size(max = 50, message = "编码长度不能超过50")
    @Length(max = 50, message = "编码长度不能超过50")
    private String department;


    private int departmentId;

    /**
     * 职称（主任医师/副主任医师等）
     */
    @Size(max = 20, message = "编码长度不能超过20")
    @Length(max = 20, message = "编码长度不能超过20")
    private String title;

    /**
     * 医生简介
     */
    private String introduction;

    /**
     * 是否在职（0-是，1-否）
     */
    private Integer isDelete;

    /**
     * 头像
     */
    @Size(max = 255, message = "编码长度不能超过255")
    @Length(max = 255, message = "编码长度不能超过255")
    private String image;
}